# ZSNES v1.51 Documentation

## Netplay

Netplay has been disabled for the indefinite future, until the core becomes more accurate and/or non-random. We recommend using ZSNES v1.36 or v1.42n until this is resolved.

### Things To Know

- ZSNES currently limits Netplay to two computers. Up to five players can still play, however (by having more than one physical player at either of the two computers).
- A game must be on each computer in order to have it available for Netplay.
- You cannot use cheat codes, key combinations, or turbo keys in Netplay.

### System Recommendations for Smooth Netplay

- Both users must use the same version of ZSNES (e.g. Both users should be using v1.36).
- Both users should be using reasonably fast computers (about 800mhz). If one user has a slow computer (e.g. 200mhz) while the other has a fast one, the slow computer's low framerate will bog down the fast computer, causing poor framerates on the fast computer.
- Both users should be using the same setting for sound (either enabled or disabled; see the Config-->Sound menu in the GUI or the ZSNES configuration file).
- Back Buffer must be enabled and the latency value must be 3 or 2 (reduce it to 2 for fast-paced platform games).
- The games have to run at least 50 FPS on BOTH computers without Netplay. This can completely depend on factors such as CPU, video card, video mode, and the game you are running. (See System Requirements).
- Both users must use the same protocol setting (either UDP or TCP). If both players are on the same LAN, you should use UDP (it has lower overhead). Otherwise, use TCP (no packet loss).
- You will also need an Internet connection with ping times of less than 400ms between both connections. The higher than ping time, the worse the Netplay experience, since ping times measure the time it takes for data to get to the other side and back. You can expect a not-so-great performance if you have a ping time of 400 or greater.

### Simple Instructions

1. Go to Netplay -> Internet.
2. Decide who will be the server and who will be the client. (Neither has the gameplay advantage since ZSNES treats both the same after a connection is established).
3. If you are the server, send the IP that is shown on the connection window to your friend (e.g. through any chat program (ICQ, AIM, IRC, etc.)). Then click on 'Start Server'.
4. If you are the client, type in the IP address that your friend has given you and then click on 'Connect to Server'.
5. Chat with your friend on what game to play.
6. Once decided, make sure that the filename on both sides are the same and that the load window points to the directory where the filename is.
7. Load the game.
8. Have fun! (If it worked)
9. If it said 'Checksum Mismatch', try uncompressing the file if it is compressed. If not, then both sides have a different version of that ROM (e.g. One side has the Japanese version while the other has the English, or both versions are English, but are different version releases of the same game).
10. If you want to chat in-game, press 'T' and type in your line. You can change this key in the Misc -> Misc Keys options from the GUI.

### Loading a Game

Once successfully connected, the chat window should open up.

From there, you can load a game as you normally would. But in order to load a game, both sides must have their load window pointing to the directory where the game is located and also have identical filenames for the game. Only one side has to load the game; after that, the other side will automatically load the game without the user's interaction.

If an error pops up saying 'ROM data mismatch', then it means that either side has a different version of the ROM. This error sometimes happens with compressed files even when both files are the same, so it is recommended that you uncompress the games and try again if this error occurs.

### Configuring Options

The default settings are recommended.

However, if your computer is slower than 266 MHz, then it is recommended that both sides play with back buffer disabled. Note that disabling this will degrade controller response.

You can increase the latency value if the average ping time between both connections is high (you can tell if the gameplay runs too jerky).

Reducing the latency value when back buffer is enabled will improve controller response time. However, this will cause the remote player to jump around more in order to keep both sides in sync.

For controller options (PL1, PL2, PL3,..), the first checkmarked player would be using Input #1 of the local side. The second checkmarked player would be using Input #2 and so on. Players marked with an 'X' are checkmarked on the remote side.

### Troubleshooting

- If you are the client, and it failed to connect, check to make sure that the IP you entered is correct and that you are properly connected to the Internet.
- If you are the server, and the IP provided in the connection window doesn't seem to be the correct one, you can visit http://www.whatismyipaddress.com to determine the correct one. Then tell your client what it is so he or she can connect. Alternatively, if you're using mIRC, just type /dns <nick>.
- If the client says 'Found Client' and nothing else happens, chances are that your net connection does not support UDP. If this is the case, both sides will need to uncheck 'Use UDP Instead of TCP'. However, it is strongly recommended that you use UDP if possible since it is much faster than TCP.
- If you have Windows 95 and you are getting a init failed error, you should download and install the Winsock 2.0 update for Windows 95. Warning: Do not install this if you do not have Windows 95.
- You may need to disable your firewall (or just disable it for UDP port 7845) in order to get the UDP protocol that ZSNES's Netplay uses to work.
- Internet Connection Sharing users (Win9x systems) may need to download an ICS configuration utility to get the connection to work and map UDP port 7845. You can use "ICS Configuration".
- If you need help forwarding your router port, you may refer to AntoineWG's Router Port Forwarding Guide. It is currently available in this thread on the ZSNES Message Board.
- Tips for reducing general slowdown can be found under "Why is ZSNES slow?" in the Speed section of the FAQ page.